#include"tool.h"

int inc(const void*a,const void*b)
{
    return *(int*)(a)-*(int*)(b);
}

int dec(const void*a,const void*b)
{
    return *(int*)(b)-*(int*)(a);
}
int hash(int n)
{
    int s=0;
    while(n)s+=n%10,n/=10;
    return s;
    //return n<10?n:hash(n/10)+(n%10);
}
int user(const void*a,const void*b)
{
    int flag= hash(*(int*)a)-hash(*(int*)b);
    if(flag)return flag;
    return *(int*)a-*(int*)b;
}
int main()
{
    int a[]= {1,7,4,5,3,2,8,9,0,6,12,111,333,9};
    int n=sizeof(a)/sizeof(a[0]);
    print(a,n);
    qsort(a,n/2,sizeof(a[0]),inc);
    print(a,n);
    qsort(a,n,sizeof(a[0]),dec);
    print(a,n);
    qsort(a,n,sizeof(a[0]),user);
    print(a,n);
    return 0;
}
